﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace QLNS_Server
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService_QLNS" in both code and config file together.
    [ServiceContract]
    public interface IService_QLNS
    {
        //Khai báo các hàm đối tượng DAN_TOC.......................................................................
        [OperationContract]
        List<DAN_TOC> getDT();
        [OperationContract]
        int addDT(DAN_TOC dt);
        [OperationContract]
        void setDT(DAN_TOC dt);
        [OperationContract]
        void deleteDT(DAN_TOC dt);

        //Khai báo các hàm đối tượng TON_GIAO......................................................................
        [OperationContract]
        List<TON_GIAO> getTG();
        [OperationContract]
        int addTG(TON_GIAO tg);
        [OperationContract]
        void setTG(TON_GIAO tg);
        [OperationContract]
        void deleteTG(TON_GIAO tg);

        //Khai báo các hàm đối tượng DONVI_HANHCHINH...............................................................
        [OperationContract]
        List<DONVI_HANHCHINH> getDVHC();
        [OperationContract]
        int addDVHC(DONVI_HANHCHINH dvhc);
        [OperationContract]
        void setDVHC(DONVI_HANHCHINH dvhc);
        [OperationContract]
        void deleteDVHC(DONVI_HANHCHINH dvhc);

        //Khai báo các hàm đối tượng TIN_HOC.......................................................................
        [OperationContract]
        List<TIN_HOC> getTH();
        [OperationContract]
        int addTH(TIN_HOC th);
        [OperationContract]
        void setTH(TIN_HOC th);
        [OperationContract]
        void deleteTH(TIN_HOC th);

        //Khai báo các hàm đối tượng NGOAI_NGU.....................................................................
        [OperationContract]
        List<NGOAI_NGU> getNN();
        [OperationContract]
        int addNN(NGOAI_NGU nn);
        [OperationContract]
        void setNN(NGOAI_NGU nn);
        [OperationContract]
        void deleteNN(NGOAI_NGU nn);

        //Khai báo các hàm đối tượng lớp TRINHDO_NGOAINGU............................................................
        [OperationContract]
        List<TRINHDO_NGOAINGU> getTDNN();
        [OperationContract]
        int addTDNN(TRINHDO_NGOAINGU tdnn);
        [OperationContract]
        void setTDNN(TRINHDO_NGOAINGU tdnn);
        [OperationContract]
        void deleteTDNN(TRINHDO_NGOAINGU tdnn);

        //Khai báo các hàm đối tượng lớp TRINHDO_CHINHTRI..........................................................
        [OperationContract]
        List<TRINHDO_CHINHTRI> getTDCT();
        [OperationContract]
        int addTDCT(TRINHDO_CHINHTRI tdct);
        [OperationContract]
        void setTDCT(TRINHDO_CHINHTRI tdct);
        [OperationContract]
        void deleteTDCT(TRINHDO_CHINHTRI tdct);

        //Khai báo các hàm đối tượng lớp TD_QUANLY_NHANUOC...........................................................
        [OperationContract]
        List<TD_QUANLY_NHANUOC> getTDQLNN();
        [OperationContract]
        int addTDQLNN(TD_QUANLY_NHANUOC tdqlnn);
        [OperationContract]
        void setTDQLNN(TD_QUANLY_NHANUOC tdqlnn);
        [OperationContract]
        void seleteTDQLNN(TD_QUANLY_NHANUOC tdqlnn);

        //TRINHDO_CHUYENMON..........................................................................................
        [OperationContract]
        List<TRINHDO_CHUYENMON> getTDCM();
        [OperationContract]
        int addTDCM(TRINHDO_CHUYENMON tdcm);
        [OperationContract]
        void setTDCM(TRINHDO_CHUYENMON tdcm);
        [OperationContract]
        void deleteTDCM(TRINHDO_CHUYENMON tdcm);

        //TD_PHOTHONG...............................................................................................
        [OperationContract]
        List<TD_PHOTHONG> getTDPT();
        [OperationContract]
        int addTDPT(TD_PHOTHONG tdpt);
        [OperationContract]
        void setTDPT(TD_PHOTHONG tdpt);
        [OperationContract]
        void deleteTDPT(TD_PHOTHONG tdpt);

        //GD_CHINHSACH...............................................................................................
        [OperationContract]
        List<GD_CHINHSACH> getGDCS();
        [OperationContract]
        int addGDCS(GD_CHINHSACH gdcs);
        [OperationContract]
        void setGDCS(GD_CHINHSACH gdcs);
        [OperationContract]
        void deleteGDCS(GD_CHINHSACH gdcs);

        //HOSO_DANG..................................................................................................
        [OperationContract]
        List<HOSO_DANG> getHSD();
        [OperationContract]
        int addHSD(HOSO_DANG hsd);
        [OperationContract]
        void setHSD(HOSO_DANG hsd);
        [OperationContract]
        void deleteHSD(HOSO_DANG hsd);

        //CANBO_TRINHDO_NN...........................................................................................
        [OperationContract]
        List<CANBO_TRINHDO_NN> getCB_TDNN();
        [OperationContract]
        int addCB_TDNN(CANBO_TRINHDO_NN cbtdnn);
        [OperationContract]
        void setCB_TDNN(CANBO_TRINHDO_NN cbtdnn);
        [OperationContract]
        void deleteCB_TDNN(CANBO_TRINHDO_NN cbtdnn);

        //CANBO_TINHOC.........................................................................................................
        [OperationContract]
        List<CANBO_TINHOC> getCB_TH();
        [OperationContract]
        int addCB_TH(CANBO_TINHOC cbth);
        [OperationContract]
        void setCB_TH(CANBO_TINHOC cbth);
        [OperationContract]
        void deleteCB_TH(CANBO_TINHOC cbth);

        //CANBO_TDQLNN........................................................................................................
        [OperationContract]
        List<CANBO_TDQLNN> getCB_TDQLNN();
        [OperationContract]
        int addCB_TDQLNN(CANBO_TDQLNN cbtdqlnn);
        [OperationContract]
        void setCB_TDQLNN(CANBO_TDQLNN cbtdqlnn);
        [OperationContract]
        void deleteCB_TDQLNN(CANBO_TDQLNN cbtdqlnn);

        //CB_TDCM_QUATRINH_DT..................................................................................................
        [OperationContract]
        List<CB_TDCM_QUATRINH_DT> getCB_TDCM();
        [OperationContract]
        int addCB_TDCM(CB_TDCM_QUATRINH_DT cbtdcm);
        [OperationContract]
        void setCB_TDCM(CB_TDCM_QUATRINH_DT cbtdcm);
        [OperationContract]
        void deleteCB_TDCM(CB_TDCM_QUATRINH_DT cbtdcm);
    }

    // Lớp đối tượng DAN_TOC........................................................................................
    [DataContract]
    public class DAN_TOC
    {
        [DataMember]
          public int Ma_DT
        {
            get;
            set;
        }
        [DataMember]
        public string TenDT
        {
            get;
            set;
        }
    }

    // Lớp đối tượng TON_GIAO........................................................................................
    [DataContract]
    public class TON_GIAO
    {
        [DataMember]
        public int Ma_TG
        {
            get;
            set;
        }
        [DataMember]
        public string TenTG
        {
            get;
            set;
        }
    }

    //Lớp DONVI_HANHCHINH........................................................................................
    [DataContract]
    public class DONVI_HANHCHINH
    {
        [DataMember]
        public string Ma_DV_HC
        {
            get;
            set;
        }
        [DataMember]
        public string TenDVHC
        {
            get;
            set;
        }
    }

    // Lớp TIN_HOC........................................................................................
    [DataContract]
    public class TIN_HOC
    {
        [DataMember]
        public string Ma_TH
        {
            get;
            set;
        }
        [DataMember]
        public string DienGiai
        {
            get;
            set;
        }
    }
    //Lớp NGOAI_NGU........................................................................................
    [DataContract]
    public class NGOAI_NGU
    {
        [DataMember]
        public string Ma_NN
        {
            get;
            set;
        }
        [DataMember]
        public string TenNN
        {
            get;
            set;
        }
    }
    //Lớp TRINHDO_NGOAINGU........................................................................................
    [DataContract]
    public class TRINHDO_NGOAINGU
    {
        [DataMember]
        public string Ma_TDNN
        {
            get;
            set;
        }
        [DataMember]
        public string TenTDNN
        {
            get;
            set;
        }
    }
    //Lớp TRINHDO_CHINHTRI........................................................................................
    [DataContract]
    public class TRINHDO_CHINHTRI
    {
        [DataMember]
        public int Stt_TD_CT
        {
            get;
            set;
        }
        [DataMember]
        public string TenTDCT
        {
            get;
            set;
        }
    }
    //Lớp trình độ quản lý nhà nước TD_QUANLY_NHANUOC..............................................................................
    [DataContract]
    public class TD_QUANLY_NHANUOC
    {
        [DataMember]
        public string Ma_TDQLNN
        {
            get;
            set;
        }
        [DataMember]
        public string TenTDQLNN
        {
            get;
            set;
        }
    }
    //...............................TRINHDO_CHUYENMON...........................................................
    [DataContract]
    public class TRINHDO_CHUYENMON
    {
        [DataMember]

        public string Ma_TD_CM
        {
            get;
            set;
        }
        [DataMember]
        public string TenTDCM
        {
            get;
            set;
        }
    }
   //................................TD_PHOTHONG.................................................................
    [DataContract]
    public class TD_PHOTHONG
    {
        [DataMember]
        public string Ma_TDPT
        {
            get;
            set;
        }
        [DataMember]
        public string TenTDPT
        {
            get;
            set;
        }
    }
   //...................................GD_CHINHSACH..............................................................
    [DataContract]
    public class GD_CHINHSACH
    {
        [DataMember]
        public int Stt_GD_CS
        {
            get;
            set;
        }
        [DataMember]
        public string DienGiai
        {
            get;
            set;
        }
    }
    //...............................HOSO_DANG.......................................................................
    [DataContract]
    public class HOSO_DANG
    {
        [DataMember]
        public string Ma_HSD
        {
            get;
            set;
        }
        [DataMember]
        public DateTime NgayVaoL1
        {
            get;
            set;
        }
        [DataMember]
        public string NguoiGioiThieu1
        {
            get;
            set;
        }
        [DataMember]
        public DateTime NgayVaoL2
        {
            get;
            set;
        }
        [DataMember]
        public string NguoiGioiThieu2
        {
            get;
            set;
        }
        [DataMember]
        public DateTime NgayChinhThuc1
        {
            get;
            set;
        }
        [DataMember]
        public DateTime NgayChinhThuc2
        {
            get;
            set;
        }
        [DataMember]
        public string ChiBo
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_CB
        {
            get;
            set;
        }
    }
    //LỚP CANBO_TRINHDO_NGOAINGU......................................................................................
    [DataContract]
    public class CANBO_TRINHDO_NN
    {
        [DataMember]
        public DateTime NgayCap
        {
            get;
            set;
        }
        [DataMember]
        public string NoiCap 
        {
            get; 
            set;
        }
        [DataMember]
        public string XepLoai
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_CB
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_TDNN
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_NN
        {
            get;
            set;
        }
    }
    //CANBO_TINHOC.........................................................................................................
    [DataContract]
    public class CANBO_TINHOC
    {
        [DataMember]
        public DateTime NgayCap
        {
            get;
            set;
        }
        [DataMember]
        public string NoiCap
        {
            get;
            set;
        }
        [DataMember]
        public string XepLoai
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_CB
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_TH
        {
            get;
            set;
        }
    }
    [DataContract]
    public class CANBO_TDQLNN
    {
        [DataMember]
        public DateTime NamDaoTao
        {
            get;
            set;
        }
        [DataMember]
        public string TruongDaoTao
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_CB
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_TDQLNN
        {
            get;
            set;
        }
    }
    //CB_TDCM_QUATRINH_DT.................................................................................................
    [DataContract]
    public class CB_TDCM_QUATRINH_DT
    {
        [DataMember]
        public string TenTruong
        {
            get;
            set;
        }
        [DataMember]
        public string ChuyenNganhDT
        {
            get;
            set;
        }
        [DataMember]
        public DateTime NamBatDau
        {
            get;
            set;
        }
        [DataMember]
        public DateTime NamKetThuc
        {
            get;
            set;
        }
        [DataMember]
        public string HinhThucDT
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_CB
        {
            get;
            set;
        }
        [DataMember]
        public string Ma_TD_CM
        {
            get;
            set;
        }

    }
   
}
